package com.ns.sbs.oauth.role.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ns.core.vo.bs.BaseVO;
import com.ns.sbs.oauth.role.dto.RolePageDto;
import com.ns.sbs.oauth.role.entry.RoleEntry;
import com.ns.sbs.oauth.role.vo.RoleEntryVO;

import java.util.List;

/**
 * 角色业务层接口
 *
 * @author : liaowei
 * @version : v1.0.0
 * @since : 2024/8/24 22:02
 **/
public interface IRoleService extends IService<RoleEntry> {
    /***
     * 查询角色
     * @param id 角色id
     * @return Role
     */
    RoleEntryVO getById(Long id);

    /***
     * 更新
     * @param s 参数
     * @return int
     */
    int update(RoleEntry s);

    /***
     * 查询
     * @param dto 参数
     * @return List
     */
    Page<RoleEntryVO> getList(RolePageDto dto);

    /**
     * 判断两用户角色等级
     *
     * @param loginUserId
     * @param id
     * @return
     */
    boolean hasPermission(Long loginUserId, Long id);

    /**
     * 查询当前租户该服务下的角色
     *
     * @param dto 条件
     * @return BaseVO
     */
    List<BaseVO> getOptions(RolePageDto dto);
}
